Instant Pooling


Info

Mentre mi occupavo dell'ottimizzazione di uno dei miei progetti, ho creato un sistema di pooling, che purtroppo non aveva un metodo di applicazione così flessibile rispetto al risultato immaginato. Poichè avrei preferito evitare di investire nell'asset store per un tool di object pooling, ho deciso di creare un mio strumento di uso generico, utilizzabile in qualunque mio progetto. Una volta completata la realizzazione dello strumento, ho pensato che sarebbe stata una buona idea pubblicarlo sull'asset store, nell'eventualità di ricavarci qualcosa, ed è esattamente quello che ho fatto! Questo strumento finora mi ha aiutato moltissimo ad ottimizzare i miei progetti, in quanto è programmato in maniera tale da essere molto semplice da configurare. Nel video che ho realizzato, c'è una breve spiegazione in inglese che ne dimostra il funzionamento. Ho anche creato una API molto semplice per espandere il sistema dinamicamente mentre il gioco è in corso, in modo tale da adattare lo strumento a qualsiasi tipo di scenario, sia esso 2D, 2.5D o 3D.

Cosa Ho Imparato

Una volta finito di programmare lo strumento, l'interfaccia era caratterizzata da un'estetica decisamente discutibile. Poichè avevo ormai in mente di pubblicarlo sull'Asset Store, ho dovuto trovare un modo per renderlo più piacevole alla vista, nonché più intuitivo. Ho dunque deciso di imparare una buona parte di scripting per l'editor di Unity, al fine di creare un'interfaccia semplice. Dopodiché ho esteso la sua funzionalità in modo tale da integrarsi perfettamente con il codice originale dello strumento. In aggiunta ho anche imparato ad avere una prospettiva più ampia quando penso a qualsiasi codice che devo implementare. Ho iniziato a chiedermi: "E se qualcuno volesse fare [...]?", e ciò mi ha aiutato a sviluppare l'abilità di creare codici che migliorano ulteriormente la qualità di un progetto, in maniera tale da poter tornare successivamente al codice e modificarlo con estrema facilità.